An Optimising Compiler for a Modern Functional Language
نویسندگان
چکیده
ion (detailed summary). In Proceedings 1986 ACMConference on LISP and Functional Programming, pp.351-363. ACM (August, 1986).13. P. Hudak, A. Bloss and J. Young, Code optimizations for lazy evaluation. Lisp and Symbolic Computation: An International Journal1 (2), 147-1 64 (1988).And a s always, we thank the 'grapplers' a t Yale for their never-ending support. 14. P. Hudak and J. Young, A collecting interpretation ofexpressions (without power domains). In Proceedings of ACM Symposium on Principles of Programming Languages, pp. 107-1 18 (January, 1988).15. P. Hudak and J. Young, Higher-order strictness analysisfor untyped lambda calculus. In 12th ACM Symposium on Principles of Programming Languages,pp. 97-1 09 (January, 1986).16. R. J. M. Hughes, Super-combinators: a new imple-mentation method for applicative languages. In Proceedings 1982 ACM Conference on LISP and FunctionalProgramming, pp. 1-10. ACM (August, 1982).17. D. Kranz, ORBIT: an optimizing compiler for scheme.Ph.D. thesis, Yale University, Department of Computer Science (1988). Available as technical report YALEUI
منابع مشابه
A Pragmatic Approach to the Analysis and Compilation of Lazy Functional Languages
The aim of the FAST Project is to provide an implementation of a functional language , Haskell, on a transputer array. An important component of the system is a highly optimising compiler for Haskell to a single transputer. This paper presents a methodology for describing the optimisations and code generation for such a compiler, which allows the exploitation of many standard and some new techn...
متن کاملOptimising Compilation Part I: Classical Imperative Languages
This tutorial considers the design of modern machine-independent optimising compilers for classical (C-like) languages. We draw from two sources (1) the literature and lectures by the authors at Cambridge and (2) thèNorcroft' compiler suite 1 jointly constructed by the authors.
متن کاملARITY ANALYSIS (Working Notes Only, Not Ready for Publication Yet)
Virtually every compiler performs transformations on the program it is compiling in an attempt to improve efficiency. However, a transformation known as “lambda floating” has not received much attention in the past. In this paper we describe an analysis on the arity of a function which determines the number of lambdas that can be floated out. We give detailed measurements of the effect in an op...
متن کاملLet--oating: Moving Bindings to Give Faster Programs
Virtually every compiler performs transformations on the program it is compiling in an attempt to improve eeciency. Despite their importance, however, there have been few systematic attempts to categorise such transformations and measure their impact. In this paper we describe a particular group of transformations | the \let-oating" transformations | and give detailed measurements of their eeec...
متن کاملIn submission Modular , Higher - Order Cardinality Analysis in Theory and Practice
Since the mid 80's, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and simplicity in practice. We describe a new, modular analysis for a higher-order language , which is both simple and effective, and present measurements o...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Comput. J.
دوره 32 شماره
صفحات -
تاریخ انتشار 1989